import { ISysPurchaseRequirementPool } from '/@/views/supplychain/syspurchaserequirementpool/api/interface';
import { ISysPurchaseRequestBill } from '/@/views/supplychain/syspurchaserequestbill/api/interface';
import { ISysPurchaseRequestBillEntry } from '/@/views/supplychain/syspurchaserequestbillentry/api/interface';
import { ISysMaterial } from '/@/views/supplychain/sysmaterial/api/interface';
import { ISysMaterialSku } from '/@/views/supplychain/sysmaterialsku/api/interface';
import { ISysPerson, ISysGroup } from '/@/views/fileattachment/api/interface';

export interface ISysPurchaseRequirementPoolEntry {
	ID?: string | null;
	PoolId: null;
	Pool?: ISysPurchaseRequirementPool;
	RequestBillId: null;
	RequestBill?: ISysPurchaseRequestBill;
	RequestBillEntryId: null;
	RequestBillEntry?: ISysPurchaseRequestBillEntry;
	MaterialId: null;
	Material?: ISysMaterial;
	MaterialSkuId: null;
	MaterialSku?: ISysMaterialSku;
	RequestQuantity: string | null;
	EstimatedPrice: string | null;
	BudgetAmount: string | null;
	PurchasedQuantity: string | null;
	RemainingQuantity: string | null;
	GroupId: null;
	Group?: ISysGroup;
	RequestBy: string | null;
	PurchaseType?: '常规' | '设备新增' | '安全新增' | '其他' | null;
	MaterialType?: '备品备件' | '化工小料' | '大宗原材料' | null;
	UrgencyLevel?: '一般' | '紧急' | null;
	RequiredDeliveryDate: Date | null;
	ApprovalDate: Date | null;
	EntryDate: Date | null;
	PurchaseState?: '待立项' | '立项中' | '已立项' | '已取消' | null;
	PurchaseStrategy?: '询比价' | '招投标' | '协议采购' | null;
}

export interface ISysPurchaseRequirementPoolEntryVm {
	Entity: ISysPurchaseRequirementPoolEntry;
	ActionName?: string | null;
	IsMyApprove?: boolean | null;

}

export interface ISysPurchaseRequirementPoolEntryView extends ISysPurchaseRequirementPoolEntry {

}

export interface ISysPurchaseRequirementPoolEntryQuery {
	PoolId?: string | null;
	RequestBillId?: string | null;
	MaterialId?: string | null;
	MaterialSkuId?: string | null;
	GroupId?: string | null;
	RequestBy?: string | null;
	PurchaseType?: number | null;
	MaterialType?: number | null;
	RequiredDeliveryDate?: Date | null;
	EntryDate?: Date | null;
	PurchaseState?: number | null;
	PurchaseStrategy?: number | null;
	MaterialName?: string | null;
	MaterialCode?: string | null;
	MaterialSkuName?: string | null;
	MaterialSkuCode?: string | null;
	ErpId?: string | null;
	RequestBillCode?: string | null;
}